/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Adugo;

/**
 *
 * @author Beicom
 * Tabuleiro: cada um dos 31 pontos é representado por um número é possivel navegar pelas linhas (x e |) para chegar até outro ponto
 *  00--01--02--03--04
 *  | X  | X | X | X |  
 *  05--06--07--08--09
 *  | X  | X | X | X |
 *  10--11--12--13--14
 *  | X  | X | X | X |
 *  15--16--17--18--19
 *  | X  | X | X | X |
 *  20--21--22--23--24
 *         / | \
 *       25--26--27 
 *       |   |    |
 *       28--29--30
 * 
 *    N
 *  NO  NE
 * O      E
 *  SO  SE
 *    S
 **/
 
public class Tabuleiro {
    private Ponto[] pontos;
    private int N;
    private int NE;
    private int E;
    private int SE;
    private int S;
    private int SO;
    private int O;
    private int NO;
    
    public Tabuleiro( ) {
        int i = 0;
        
        this.N = 0;
        this.NE = 1;
        this.E = 2;
        this.SE = 3;
        this.S = 4;
        this.SO = 5;
        this.O = 6;
        this.NO = 7;   
        this.pontos[i++] = new Ponto(null, null, pontos[1], pontos[6], pontos[5], null, null, null);
        this.pontos[i++] = new Ponto(null, null, pontos[2], pontos[7], pontos[6], pontos[5], pontos[0], null);
        this.pontos[i++] = new Ponto(null, null, pontos[3], pontos[8], pontos[7], pontos[6], pontos[1], null);
        this.pontos[i++] = new Ponto(null, null, pontos[4], pontos[9], pontos[8], pontos[7], pontos[2], null);
        this.pontos[i++] = new Ponto(null, null, null, null, pontos[9], pontos[8], pontos[3], null);
        this.pontos[i++] = new Ponto(pontos[0], pontos[1], pontos[6], pontos[11], pontos[10], null, null, null);
        this.pontos[i++] = new Ponto(pontos[1], pontos[2], pontos[7], pontos[12], pontos[11], pontos[10], pontos[5], pontos[0]);
        this.pontos[i++] = new Ponto(pontos[2], pontos[3], pontos[8], pontos[13], pontos[12], pontos[11], pontos[6], pontos[1]);
        this.pontos[i++] = new Ponto(pontos[3], pontos[4], pontos[9], pontos[14], pontos[13], pontos[12], pontos[7], pontos[2]);
        this.pontos[i++] = new Ponto(pontos[4], null, null, null , pontos[14], pontos[13], pontos[8], pontos[3]);
        this.pontos[i++] = new Ponto(pontos[5], pontos[6], pontos[11], pontos[16], pontos[15], null, null, null);
        this.pontos[i++] = new Ponto(pontos[6], pontos[7], pontos[12], pontos[17], pontos[16], pontos[15], pontos[10], pontos[5]);
        this.pontos[i++] = new Ponto(pontos[7], pontos[8], pontos[13], pontos[18], pontos[17], pontos[16], pontos[11], pontos[6]);
        this.pontos[i++] = new Ponto(pontos[8], pontos[9], pontos[14], pontos[19], pontos[18], pontos[17], pontos[12], pontos[7]);
        this.pontos[i++] = new Ponto(pontos[9], null, null, null, pontos[19], pontos[18], pontos[13], pontos[8]);
        this.pontos[i++] = new Ponto(pontos[10], pontos[11], pontos[16], pontos[21], pontos[20], null, null, null);
        this.pontos[i++] = new Ponto(pontos[11], pontos[12], pontos[17], pontos[22], pontos[21], pontos[20], pontos[15], pontos[10]);
        this.pontos[i++] = new Ponto(pontos[12], pontos[13], pontos[18], pontos[23], pontos[22], pontos[21], pontos[16], pontos[11]);
        this.pontos[i++] = new Ponto(pontos[13], pontos[14], pontos[19], pontos[24], pontos[23], pontos[22], pontos[17], pontos[12]);
        this.pontos[i++] = new Ponto(pontos[14], null, null, null, pontos[24], pontos[23], pontos[18], pontos[13]);
        this.pontos[i++] = new Ponto(pontos[15], pontos[16], pontos[21], null, null, null, null, null);
        this.pontos[i++] = new Ponto(pontos[16], pontos[17], pontos[22], null, null, null, pontos[20], pontos[15]);
        this.pontos[i++] = new Ponto(pontos[17], pontos[18], pontos[23], pontos[25], pontos[26], pontos[27], pontos[21], pontos[16]);
        this.pontos[i++] = new Ponto(pontos[18], pontos[19], pontos[24], null, null, null, pontos[22], pontos[17]);
        this.pontos[i++] = new Ponto(pontos[19], null, null, null, null, null, pontos[23], pontos[18]);
        this.pontos[i++] = new Ponto(null, pontos[22], pontos[26], null, null, pontos[28], null, null);        
        this.pontos[i++] = new Ponto(pontos[22], null, pontos[27], null, pontos[29], pontos[30], pontos[25], null);
        this.pontos[i++] = new Ponto(null, null, null, pontos[30], null, null, pontos[26], pontos[22]);
        this.pontos[i++] = new Ponto(null, pontos[25], pontos[29], null, null, null, null, null);
        this.pontos[i++] = new Ponto(pontos[26], null, pontos[30], null, null, null, pontos[28], null);
        this.pontos[i++] = new Ponto(null, null, null, null, null, null, pontos[29], pontos[27]);        
    } 
    
}
